#ifndef TMC5130_REGISTER_H
#define TMC5130_REGISTER_H

	// ===== TMC5130 register set =====
	
#define TMC5130_GCONF      0x00 // RW
#define TMC5130_GSTAT      0x01 // R+C
#define TMC5130_IFCNT      0x02 // R
#define TMC5130_SLAVECONF  0x03 // W
#define TMC5130_IOIN       0x04 // R
#define TMC5130_XCOMPARE  0x05 // W

#define TMC5130_IHOLD_IRUN 0x10 // W
#define TMC5130_TPOWERDOWN 0x11 // W
#define TMC5130_TSTEP      0x12 // R
#define TMC5130_TPWMTHRS   0x13 // W
#define TMC5130_TCOOLTHRS  0x14 // W
#define TMC5130_THIGH      0x15 // W

#define TMC5130_RAMPMODE   0x20 // RW
#define TMC5130_XACTUAL   0x21 // R
#define TMC5130_VACTUAL   0x22 // R
#define TMC5130_VSTART    0x23 // W
#define TMC5130_A1         0x24 // W
#define TMC5130_V1         0x25 // W
#define TMC5130_AMAX       0x26 // W
#define TMC5130_VMAX       0x27 // W
#define TMC5130_DMAX       0x28 // W
#define TMC5130_D1         0x2A // W
#define TMC5130_VSTOP      0x2B // W
#define TMC5130_TZEROWAIT  0x2C // W
#define TMC5130_XTARGET    0x2D // W

#define TMC5130_VDCMIN     0x33 // W
#define TMC5130_SW_MODE    0x34 // W
#define TMC5130_RAMP_STAT  0x35 // R
#define TMC5130_XLATCH     0x36 // R

#define TMC5130_ENCMODE    0x38 // RW
#define TMC5130_X_ENC      0x39 // R
#define TMC5130_ENC_CONST  0x3A // W
#define TMC5130_ENC_STATUS 0x3B // R
#define TMC5130_ENC_LATCH  0x3C // R

#define TMC5130_MSLUT0     0x60 // W
#define TMC5130_MSLUT1     0x61 // W
#define TMC5130_MSLUT2     0x62 // W
#define TMC5130_MSLUT3     0x63 // W
#define TMC5130_MSLUT4     0x64 // W
#define TMC5130_MSLUT5     0x65 // W
#define TMC5130_MSLUT6     0x66 // W
#define TMC5130_MSLUT7     0x67 // W
#define TMC5130_MSLUTSEL   0x68 // W
#define TMC5130_MSLUTSTART 0x69 // W
#define TMC5130_MSCNT      0x6A // R
#define TMC5130_MSCURACT   0x6B // R
#define TMC5130_CHOPCONF   0x6C // RW
#define TMC5130_COOLCONF   0x6D // W
#define TMC5130_DCCTRL     0x6E // W
#define TMC5130_DRV_STATUS 0x6F // R
#define TMC5130_PWMCONF    0x70 // W
#define TMC5130_PWM_SCALE  0x71 // R
#define TMC5130_ENCM_CTRL  0x72 // W
#define TMC5130_LOST_STEPS 0x73 // R

#endif /* TMC5130_REGISTER_H */
